<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
	<head>
		<script src="../../../Grid/GridE.js"> </script>
		<style>
         /* Examples shared styles */
         .ExampleHeader,.ExampleName,.ExampleShort,.ExampleDesc,.ExampleErr { max-height:999999px; }
         .ExampleHeader { font:normal 12px Arial; color:blue; }
         .ExampleHeader b { color:#800; }
         .ExampleHeader i { font-style:normal; font-weight:bold; color:black; }
         .ExampleHeader u { font-weight:bold; text-decoration:none; padding:0px 2px 0px 2px; color:#0B0; }
         .ExampleName { font:bold 30px Arial; padding:5px 0px 5px 0px; }
         .ExampleShort { font:italic 15px Arial; margin-bottom:10px; padding-top:5px; }
         .ExampleDesc { font:14px/17px Arial; margin:0px 5px 10px 5px; padding:5px; border:1px solid #AAA; }
         .ExampleErr { font:14px/30px Arial; margin:50px auto 10px auto; padding:5px; border:1px solid black; color:red; width:800px; text-align:center; display:none; }
         .ExampleBorder { margin:0px 5px 0px 5px; clear:both; zoom:1; }
         .ExampleDesc ul { padding:0px 0px 0px 15px; margin:10px 0px 0px 0px; }
         .ExampleDesc li { padding-bottom:8px; line-height:18px; }
         .ExampleDesc h4 { font:bold 15px/20px Arial; margin:0px; padding:0px 6px 0px 6px; background:#87DAE5; border:1px solid #888; color:black; display:inline; }
         .ExampleDesc u { font-size:11px; text-decoration:none; }
         .ExampleDesc .Link { text-decoration:underline; color:blue; cursor:pointer; }
         .ExampleMain { height:300px; }
         @media (max-height:800px) { 
            .ExampleDesc { font-size:13px; line-height:15px; margin:0px 5px 5px 5px; padding:3px 5px; } 
            .ExampleDesc br { display:none; }
            .ExampleName { font:20px Arial; padding:0px; }
            .ExampleShort { font-size:13px; }
            }
      </style>
	</head>
	<body>
      <center class="ExampleHeader"><script>document.write(location.href.replace(/(.*)(\/Examples\/|\/ExamplesGantt\/)([^\/]+)\/([^\/]+)\/([^\/]+)$/,"$2<b>$3</b>/<i>$4</i>/$5").replace(/([^<]|^)(\/|\.)/g,"$1<u>$2</u>"));</script></center>
      <center class="ExampleName">Server side paging with DLL on SQL database</center>
      <center class="ExampleShort">Using <b>TreeGrid server library</b> for server side paging upon SQL database</center>
      <div class="ExampleErr">
         <script> if(location.protocol=="file:") document.write("<style>.ExampleDesc, .ExampleBorder {display:none;} .ExampleErr { display:block; } </style>"); </script>
         Do <b>not</b> run this file locally!<br />Run it from your local or remote web http server where is installed JAVA JRE.<br>
      </div>
      <div class="ExampleDesc">
         <i>Source files:</i> <h4>DB.html</h4> (this html page), <a href="DBDef.xml" target="_blank"><h4>DBDef.xml</h4></a> (static XML layout), 
         <a href="DB.jsp" target="_blank"><h4>DB.jsp</h4></a> (server script generates and processes XML data and generates XLS export; uses the TreeGrid.dll/so), 
         <h4>../Database.*</h4> (source SQL database, table <b>TableData</b>)<br />
         <h4>TreeGrid.jar</h4> (support code to use TreeGrid server library),
         <h4>TreeGrid.dll</h4> or <h4>TreeGrid.so</h4> (library located in package root directory <b>/Server/TreeGrid32/</b> or <b>/Server/TreeGrid64/</b> depending on server system, used in <b>TreeGrid.jar</b>),
         <h4>tmp/</h4> directory can be used for temporary data to free JAVA memory.
      </div>
      <div class="ExampleDesc">
         <h4 style="background:#FCC;">You have to copy file <b style="color:red;">hsqldb.jar</b> to your JRE shared lib directory and <b style="color:red;">restart</b> your http server</h4><br />
         <h4 style="background:#FCC;">The JSP service program must have <b style="color:red;">write</b> access to all files <b style="color:red;">database.*</b></h4><br />
         The <h4>hsqldb.jar</h4> is JDBC driver for <a href='http://www.hsqldb.org'><h4>HSQLDB database</h4></a> and is located in TreeGrid distribution in <b>/Server/Jsp/</b> directory.
         <u>The shared lib directory is usually <b><i>jre_install_path</i>/lib/ext</b> and also e.g. in Tomcat is usually <b><i>tomcat_install_path</i>/shared/lib</b>.</u><br>
         You can use any other SQL database instead of HSQLDB (e.g. <h4>Oracle</h4>, <h4>MS SQL server</h4>, <h4>MySQL</h4> ,...), just assign different connection to java.sql.Connection Conn in the *.jsp files. 
         You can run the ../<b>MySqlUTF8.sql</b> script to create the "TreeGridTest" sample database on your SQL server.
      </div>
      <div class="ExampleDesc">
         <h4 style="background:#FCC;">To use the TreeGrid server side library you have to copy file <b style="color:red;">TreeGrid.jar</b> to your JRE shared lib directory and <b style="color:red;">restart</b> your http server</h4><br />
         The <h4>TreeGrid.jar</h4> is support code for using <a href="../../../Doc/DLL.htm"><h4>TreeGrid server side DLL / SO</h4></a> and is located in TreeGrid distribution in <b>/Server/Jsp/</b> directory.
      </div>
      <div class="ExampleDesc">
         This example demonstrates using <a href="../../../Doc/DLL.htm"><h4>TreeGrid server side DLL / SO</h4></a> library
            for <b>server</b> side <b>paging</b>, <b>calculations</b>, <b>grouping</b>, <b>sorting</b>, <b>filtering</b>, <b>Excel export</b> and <b>updates</b>.<br>
         This example loads all data from database and fills them to TreeGrid DLL and uses it for generating data, pages and export for client.
         Uploaded changes are sent to both database and TreeGrid DLL to be synchronized.<br>
      </div>
      <div class="ExampleBorder">
         <div class="ExampleMain">
			   <bdo Debug="problem" 
			      Layout_Url="DBDef.xml" 
			
               Data_Url="DB.jsp"
               Data_Method='Form'
               Data_Format='Internal'
               Data_Param_Function='LoadBody'
               Data_Param_Def='DBDef.xml'
               Data_Param_Table='TableData'
               Data_Data='Data'

               Page_Url='DB.jsp' 
               Page_Format='Internal'
               Page_Method='Form'
               Page_Param_Function='LoadPage'
               Page_Param_Def='DBDef.xml'
               Page_Param_Table='TableData'
               Page_Data='Data'
           
               Upload_Url='DB.jsp' 
               Upload_Format='Internal'
               Upload_Method='Form'
               Upload_Param_Function='Save'
               Upload_Param_Def='DBDef.xml'
               Upload_Param_Table='TableData'
               Upload_Data='Data'

               Export_Url='DB.jsp' 
               Export_Format='Internal'
               Export_Method='Form'
               Export_Param_Function='Export'
               Export_Param_Def='DBDef.xml'
               Export_Param_Table='TableData'
               Export_Data='Data'
               Export_Type='Settings,Changes'
			
			   ></bdo>
   		</div>
		</div>

      <!-- Google Analytics code run once for trial -->
      <script>
         var TGTrial = document.cookie.match(/TGTrialJSP\s*=\s*(\d+)/), TGIndex = 8192;
         if(!TGTrial||!(TGTrial[1]&TGIndex)) setTimeout(function(){
            var n = "RunTrialJSPDB", d = (new Date((new Date).getTime()+31536000000)).toUTCString(); document.cookie = "TGTrialJSP="+((TGTrial?TGTrial[1]:0)|TGIndex)+";expires="+d;
            var u = document.cookie.match(/TGTrialUsed\s*=\s*(\d+)/); u = u ? u[1]-0+1 : 1; if(u<=11) document.cookie = "TGTrialUsed="+u+";path=/;expires="+d;
            var s = "<div style='width:0px;height:0px;overflow:hidden;'><iframe src='http"+(document.location.protocol=="https"?"s":"")+"://www.treegrid.com/Stat/GA.html?productName="
                 +(u==1||u==3||u==5||u==10?"UsedTrial"+u:n)+"' onload='var T=this;setTimeout(function(){document.body.removeChild(T.parentNode.parentNode);},1000);'/></div>";
            var F = document.createElement("div"); F.innerHTML = s; document.body.appendChild(F);
            },100);
      </script>

	</body>
</html>
